package idazkaria;

import hasiera_pantaila.DBKudeatzailea;

import java.awt.BorderLayout;
import java.awt.EventQueue;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JLabel;
import java.awt.Color;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.ResultSet;
import java.sql.SQLException;

import javax.swing.ButtonGroup;
import javax.swing.JOptionPane;
import javax.swing.JTextField;
import javax.swing.JRadioButton;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.DefaultComboBoxModel;

import com.toedter.calendar.JCalendar;


public class EI_Bezeroa_sortu_1_3_1 extends JFrame {

	private JPanel contentPane;
	private JTextField izena;
	private JTextField lehenAbiz;
	private JTextField bigarrenAbiz;
	private JTextField nan;
	private JTextField jaiotzeData;
	private JTextField helb;
	private JTextField atari;
	private JTextField solairua;
	private JTextField hizkia;
	private JTextField probintzia;
	private JTextField herria;
	private JTextField tlfn;
	private JTextField mobil;
	private JTextField email;
	private JTextField postaKodea;
	private ButtonGroup sexua;
	private JRadioButton Gizona;
	private JRadioButton Emakumea;
	

	/**
	 * Launch the application.
	 */
	public static void main(String[] args) {
		EventQueue.invokeLater(new Runnable() {
			public void run() {
				try {
					EI_Bezeroa_sortu_1_3_1 frame = new EI_Bezeroa_sortu_1_3_1();
					frame.setVisible(true);
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		});
	}

	/**
	 * Create the frame.
	 */
	public EI_Bezeroa_sortu_1_3_1() {
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setBounds(100, 100, 626, 480);
		contentPane = new JPanel();
		contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
		setContentPane(contentPane);
		contentPane.setLayout(null);
		
		JLabel lblIdazkariaSortu = new JLabel("BEZEROA SORTU:");
		lblIdazkariaSortu.setFont(new Font("Tahoma", Font.BOLD, 14));
		lblIdazkariaSortu.setForeground(Color.BLACK);
		lblIdazkariaSortu.setBounds(10, 11, 150, 14);
		contentPane.add(lblIdazkariaSortu);
		
		izena = new JTextField();
		izena.setBounds(48, 40, 183, 20);
		contentPane.add(izena);
		izena.setColumns(10);
		
		JLabel lblLehenengoAbizena = new JLabel("Lehenengo abizena");
		lblLehenengoAbizena.setBounds(10, 70, 127, 14);
		contentPane.add(lblLehenengoAbizena);
		
		lehenAbiz = new JTextField();
		lehenAbiz.setBounds(125, 71, 172, 20);
		contentPane.add(lehenAbiz);
		lehenAbiz.setColumns(10);
		
		JLabel lblBigarrenAbizena = new JLabel("Bigarren abizena");
		lblBigarrenAbizena.setBounds(10, 95, 105, 14);
		contentPane.add(lblBigarrenAbizena);
		
		JLabel lblIzena = new JLabel("Izena");
		lblIzena.setBounds(10, 43, 46, 14);
		contentPane.add(lblIzena);
		
		bigarrenAbiz = new JTextField();
		bigarrenAbiz.setBounds(125, 95, 172, 20);
		contentPane.add(bigarrenAbiz);
		bigarrenAbiz.setColumns(10);
		
		JLabel lblNana = new JLabel("NAN zenbakia");
		lblNana.setBounds(307, 43, 87, 14);
		contentPane.add(lblNana);
		
		nan = new JTextField();
		nan.setBounds(397, 40, 100, 20);
		contentPane.add(nan);
		nan.setColumns(10);
		
		JLabel lblJaiotzeData = new JLabel("Jaiotze data");
		lblJaiotzeData.setBounds(307, 70, 74, 14);
		contentPane.add(lblJaiotzeData);
		
		jaiotzeData = new JTextField();
		jaiotzeData.setBounds(397, 67, 100, 20);
		contentPane.add(jaiotzeData);
		jaiotzeData.setColumns(10);
		
		JLabel lblSexua = new JLabel("Sexua");
		lblSexua.setBounds(307, 95, 46, 14);
		contentPane.add(lblSexua);
		
		sexua = new ButtonGroup();
		
		Gizona = new JRadioButton("Gizona");
		Gizona.setBounds(347, 91, 67, 23);
		contentPane.add(Gizona);
		
		 Emakumea = new JRadioButton("Emakumea");
		Emakumea.setBounds(416, 91, 100, 23);
		contentPane.add(Emakumea);
		
		sexua.add(Gizona);
		sexua.add(Emakumea);
		
		JLabel lblHelbidea = new JLabel("Helbidea");
		lblHelbidea.setBounds(10, 120, 58, 14);
		contentPane.add(lblHelbidea);
		
		helb = new JTextField();
		helb.setBounds(74, 120, 223, 20);
		contentPane.add(helb);
		helb.setColumns(10);
		
		JLabel lblAtaria = new JLabel("Ataria");
		lblAtaria.setBounds(307, 123, 46, 14);
		contentPane.add(lblAtaria);
		
		atari = new JTextField();
		atari.setBounds(347, 120, 40, 20);
		contentPane.add(atari);
		atari.setColumns(10);
		
		JLabel lblSolairua = new JLabel("Solairua");
		lblSolairua.setBounds(397, 123, 58, 14);
		contentPane.add(lblSolairua);
		
		solairua = new JTextField();
		solairua.setBounds(449, 121, 40, 20);
		contentPane.add(solairua);
		solairua.setColumns(10);
		
		JLabel lblHizkia = new JLabel("Hizkia");
		lblHizkia.setBounds(499, 123, 46, 14);
		contentPane.add(lblHizkia);
		
		hizkia = new JTextField();
		hizkia.setBounds(541, 121, 23, 20);
		contentPane.add(hizkia);
		hizkia.setColumns(10);
		
		JLabel lblProbintzia = new JLabel("Probintzia");
		lblProbintzia.setBounds(10, 154, 58, 14);
		contentPane.add(lblProbintzia);
		
		probintzia = new JTextField();
		probintzia.setBounds(74, 151, 110, 20);
		contentPane.add(probintzia);
		probintzia.setColumns(10);
		
		JLabel lblHerria = new JLabel("Herria");
		lblHerria.setBounds(194, 154, 46, 14);
		contentPane.add(lblHerria);
		
		herria = new JTextField();
		herria.setBounds(240, 151, 100, 20);
		contentPane.add(herria);
		herria.setColumns(10);
		
		JLabel lblTelefonoa = new JLabel("Telefonoa");
		lblTelefonoa.setBounds(10, 192, 58, 14);
		contentPane.add(lblTelefonoa);
		
		tlfn = new JTextField();
		tlfn.setBounds(74, 189, 110, 20);
		contentPane.add(tlfn);
		tlfn.setColumns(10);
		
		JLabel lblMugikorra = new JLabel("Mugikorra");
		lblMugikorra.setBounds(194, 192, 58, 14);
		contentPane.add(lblMugikorra);
		
		mobil = new JTextField();
		mobil.setBounds(265, 189, 105, 20);
		contentPane.add(mobil);
		mobil.setColumns(10);
		
		JLabel lblEmailHelbidea = new JLabel("E-mail helbidea");
		lblEmailHelbidea.setBounds(380, 192, 92, 14);
		contentPane.add(lblEmailHelbidea);
		
		email = new JTextField();
		email.setBounds(475, 189, 125, 20);
		contentPane.add(email);
		email.setColumns(10);
		
		JButton btnGorde = new JButton("Gorde");
		btnGorde.setBounds(305, 322, 89, 23);
		btnGorde.addActionListener(new ActionListener() { 
		protected boolean zerbaitIdatziDu(){
			return izena.getText().length() > 0 && lehenAbiz.getText().length() > 0 && bigarrenAbiz.getText().length() > 0 
    		&& nan.getText().length() > 0 && jaiotzeData.getText().length() > 0 && helb.getText().length() > 0
    		&& helb.getText().length() > 0 && atari.getText().length() > 0 && solairua.getText().length() > 0
    		&& hizkia.getText().length() > 0 && probintzia.getText().length() > 0 && herria.getText().length() > 0
    		&& tlfn.getText().length() > 0 && mobil.getText().length() > 0 && email.getText().length() > 0
    		 && postaKodea.getText().length() >0;}
			public void actionPerformed(ActionEvent arg0) {
				 try
	                {
	                    if (!zerbaitIdatziDu()){
	                      JOptionPane.showMessageDialog(null, "Ezin da eremua hutsik egon");
	                    }else if (!existitzenDa(nan.getText())  ){
	                    			// datubasean idazkari berri bat txertatu(ex dut sartzen egun jcalndar erabiliz)
	                    			BezeroaSortu(izena.getText(),lehenAbiz.getText(), bigarrenAbiz.getText(), nan.getText(), jaiotzeData.getText(), 
	  	                        		  helb.getText(),Gizona.isSelected()?"g":"e" , Integer.parseInt(atari.getText()), Integer.parseInt(solairua.getText()), hizkia.getText(),
	  	                        		  probintzia.getText(), herria.getText(),Integer.parseInt(postaKodea.getText()), Integer.parseInt(tlfn.getText()), Integer.parseInt(mobil.getText()),email.getText(),
	  	                        		  "agenda");
	  	                        		  
	  	                        		  // "Ondo sartu duzu!" mezua bistaratu
	  	                        	 EI_Bezeroa_sortuta_mezua_1_3_1_1 mezua=new EI_Bezeroa_sortuta_mezua_1_3_1_1();
	  	                        	// hobeto eraikitzailean egitea	  
	  	                        	   mezua.setVisible(true);
	  	                        		   // uneko inprimakia izkutatu
	  	                        	EI_Bezeroa_sortu_1_3_1.this.setVisible(false);
	  	                   
	                   } // if
	                   
	                  } catch (Exception e){
	                    e.printStackTrace();
	                }
	        	} });
		contentPane.add(btnGorde);

		
		
		JButton btnAtzera = new JButton("Atzera");
		btnAtzera.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {
				EI_Bezeroaren_informazioa_maneiatu_1_3 bat=new EI_Bezeroaren_informazioa_maneiatu_1_3();
				bat.setVisible(true);
				EI_Bezeroa_sortu_1_3_1.this.setVisible(false);}
		});
		btnAtzera.setBounds(408, 322, 89, 23);
		contentPane.add(btnAtzera);
		
		JLabel lblTerapia = new JLabel("Agenda");
		lblTerapia.setBounds(10, 227, 58, 14);
		contentPane.add(lblTerapia);
		
		//egutegia panel batean sartu dut. AGENDA etiketa azpian jartzeko, setBounds metodoaren zenbakiak aldatu ditut.
		JPanel calendar=new JPanel();
		calendar.setBounds(46, 252, 251, 187);
		this.contentPane.add(calendar);
		calendar.add(new JCalendar());
		
		JLabel label = new JLabel("Posta kodea");
		label.setBounds(357, 153, 74, 14);
		contentPane.add(label);
		
		postaKodea = new JTextField();
		postaKodea.setColumns(10);
		postaKodea.setBounds(438, 151, 74, 20);
		contentPane.add(postaKodea);
		
		JLabel label_1 = new JLabel("Adib: 11111111v");
		label_1.setBounds(499, 43, 115, 14);
		contentPane.add(label_1);
	}
	//goian erabiltzen diren metodoak
	public boolean existitzenDa(String NAN) {
		DBKudeatzailea dbk = DBKudeatzailea.getInstantzia();
		String k1 =("SELECT * FROM bezeroa WHERE NAN='"+NAN+"'");

		ResultSet rs =  dbk.execSQL(k1);
		try {
			rs.next();
			System.out.println(rs.getString(0));
			rs.close();
			System.out.println("aurkituta");
			return true;

		} catch (SQLException e) {
			System.out.println("ez aurkituta");
			return false;
		}
	}
	public void BezeroaSortu(String a,String b, String c, String d, String e, String f, String g, int h, int i, String j, String l, 
			String m, int n, int o, int z,String p, String q )  
	    {
	   /*SD begiratuta: K1:
INSERT INTO bezeroa (izena, lehenengoAbizena, bigarrenAbizena, NAN, jaiotzeData, sexua, helbidea, ataria, solairua, hizkia, probintzia, herria,
postaKodea, telefonoa, mugikorra, email, agenda)
VALUES(%izena, %lehenengoAbizena, %bigarrenAbizena, %NAN, %jaiotzeData,
%sexua, %helbidea, %ataria, %solairua, %hizkia, %probintzia, %herria, %postaKodea, %telefonoa, %mugikorra, %email, %agenda))*/
		
	    		DBKudeatzailea dbk = DBKudeatzailea.getInstantzia();
	    		//Sartu behar da kontsultan jaiotze data ondoren '" + sexua + "'. email ondoren sartu behar da checkboxen terapia,
	    	
	    		String k1 =("INSERT INTO bezeroa (`izena`, `lehenengoAbizena`, `bigarrenAbizena`, `NAN`, `jaiotzeData`, `sexua`, `helbidea`, `ataria`, `solairua`, `hizkia`, `probintzia`, " +
	    				"`herria`, `postaKodea`, `telefonoa`, `mugikorra`, `email`, `agenda`) " +
	    				"     VALUES ('" + izena.getText()  + "', '" + lehenAbiz.getText() + "' , '"+ bigarrenAbiz.getText() +"','"+  nan.getText() +"', '"+ jaiotzeData.getText() + "', '" + helb.getText() +"','" + (Gizona.isSelected()?"g":"e") +"', '" + Integer.parseInt(atari.getText()) +"'," +
	    				"'" + Integer.parseInt(solairua.getText()) +"', '" + hizkia.getText() +"', '" + probintzia.getText() +"', '" + herria.getText() +"', '" + postaKodea.getText() +"', '" + tlfn.getText() +"', '" + mobil.getText() +"', " +
	    				"'" + email.getText() +"','" +"agenda" +"'");        
                				

	 
	    			System.out.println("Ondo txertatu da");
	    			
	    		
	    		

	    
}
}
